The present invention generally relates to a system and process for distributing a multicast data stream in a network. In particular, the invention pertains to a novel switching device and method for efficiently more directly distributing multicast streams to multicast group members in a local area network, for example, without forwarding the multicast stream to the root router, thereby obviating the multicast streams that traverse the same 802.1Q links multiple times.
Multicast was designed to eliminate unnecessary packet replication across a network. The advantages of multicast are lost, however, when deployed in an environment with virtual local area network (VLAN) tagging. VLAN tagging, including 802.1Q VLAN tagging, is becoming widely used in today's networks, particularly large campus network configurations and VLANs spanning multiple geographical areas. In these environments, switches and combination switch/routers are frequently configured to support a plurality of host computers associated with different VLANs. With VLAN tagging, it is possible to use a single communications link that is shared by a plurality of VLANs without compromising the integrity of the separate and distinct VLANs. As a result, multicast streams may be transmitted multiple times over the same VLAN tagged link, thereby consuming system resources and bandwidth.
The disadvantage of multicast over VLAN tagged links may be demonstrated in a network including multiple VLANs, as illustrated in FIG. 1. The network 100 includes a router 102 that is operatively coupled to a plurality of switches 104, 105, and 106 by means of communication links 114, 115, and 116, respectively. Coupled to each switch is one or more host computers, including hosts H1 120 through H2 122, hosts H3 123 through H4 124, and H5 125 through H6 126 operatively coupled to first switch 104, second switch 105, and third switch 106, respectively. The switches 104-106 are preferably configured to support host computers that may belong to one or more VLANs, including VLAN-A and VLAN-B, as illustrated with parenthetical references. First switch 104 for example may support host H1 120 on VLAN-A and host H2 122 on VLAN-B. The router 102 and switches 104-106 are configured with a VLAN tagging protocol such as 802.1Q, thereby allowing each of the trunk links 114, 115, and 116 to transmit frames associated with VLAN-A and VLAN-B without compromising the integrity of the VLANs.
Each of the nodes of the network 100 preferably support multicast frames in accordance with IP Multicast. Router 102 preferably maintains a multicast membership table with which the router tracks various multicast group identifications, the IP source address of one or more nodes generating a multicast flow, and the location or identity of one or more host computers that has requested receipt of a multicast stream. The VLAN members are then multicast sources and receivers for various multicast streams.
The contemporary approach to distributing a multicast stream generated by a client H1 of VLAN A is to switch the stream through switch 104 to router 102. The router 102 maintains multicast group information preferably including the multicast address of one or more flows and the IP source address of each flow. When a client computer requests receipt of the multicast stream, the stream is forwarded from the router 102 through one or more switches to the requesting client computer. If the client is, for example, client computer H4 of VLAN B, the stream with a VLAN B tag is directed through trunk 115 to switch 105 before being switched to the client H4. Additionally, if the client H3 of VLAN A also requests to receive the same multicast stream, an additional copy of the stream with a VLAN A tag is also directed through trunk 115 to switch 105. The propagation path of a multicast stream from client H1 to clients H3 and H4 thus requires the stream be transmitted across switch 104, through the trunk 114, through router 102, twice across trunk 115 and twice through switch 105. The complete path from client H1 to clients H3 and H4 therefore consumes unnecessary bandwidth on trunk 115.
There is therefore a need for a system and method to eliminate the wasted bandwidth and increased latency associated with multicast flows in a VLAN tagged environment.